package com.wnxy;

import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;
import java.util.ArrayList;
import java.util.List;

public class App8 {
    private static List<Object> list = new ArrayList<Object>();
    public static void main(String[] args) {
        // 循环创建虚引用对象
        for (int i = 0; i < 10; i++) {
            byte[] buff = new byte[1024 * 1024];
            PhantomReference<byte[]> sr = new PhantomReference<byte[]>
                    (buff, new ReferenceQueue());
            list.add(sr);
        }

        System.gc(); // 主动通知垃圾回收

        for(int i=0; i < list.size(); i++){
            Object obj = ((PhantomReference) list.get(i)).get();
            System.out.println(obj);
        }
    }
}